Active Memory Processor: A Hardware Garbage Collector for Real-Time Java Embedded Devices

نویسندگان

  • Witawas Srisa-an
  • Dan Chia-Tien Lo
  • J. Morris Chang
چکیده

Java possesses many advantages for embedded system development, including fast product deployment, portability, security, and a small memory footprint. As Java makes inroads into the market for embedded systems, much effort is being invested in designing real-time garbage collectors. The proposed garbage-collected memory module, a bitmap-based processor with standard DRAM cells is introduced to improve the performance and predictability of dynamic memory management functions that include allocation, reference counting, and garbage collection. As a result, memory allocation can be done in constant time and sweeping can be performed in parallel by multiple modules. Thus, constant time sweeping is also achieved regardless of heap size. This is a major departure from the software counterparts where sweeping time depends largely on the size of the heap. In addition, the proposed design also supports limited-field reference counting, which has the advantage of distributing the processing cost throughout the execution. However, this cost can be quite large and results in higher power consumption due to frequent memory accesses and the complexity of the main processor. By doing reference counting operation in a coprocessor, the processing is done outside of the main processor. Moreover, the hardware cost of the proposed design is very modest (about 8,000 gates). Our study has shown that 3-bit reference counting can eliminate the need to invoke the garbage collector in all tested applications. Moreover, it also reduces the amount of memory usage by 77 percent.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Designing a Concurrent Hardware Garbage Collector for Small Embedded Systems

Today more and more functionality is packed into all kinds of embedded systems, making high-level languages, such as Java, increasingly attractive as implementation languages. However, certain aspects, essential to high-level languages are much harder to address in a low performance, small embedded system than on a desktop computer. One of these aspects is memory management with garbage collect...

متن کامل

Hardware Concurrent Garbage Collection for Short-Lived Objects in Mobile Java Devices

jHISC is an object-oriented processor for embedded system aiming at accelerating Java execution by hardware approach. Garbage collection is one of the critical tasks in a Java Virtual Machine. In this paper, we have conduct a study of dynamic object allocation and garbage collection behavior of Java program based on SPECjvm 98 benchmark suite and MIDP applications for mobile phones. Life, size,...

متن کامل

Energy vs. Memory Trade-Offs on Energy-and- Memory Constraint Embedded JVM

Due to the thriving of the mobile devices market, there has been a great momentum in adopting Java technology in embedded mobile devices where optimizing energy consumption is extremely critical. However, since Java Virtual Machines (JVMs) are conventionally used for server side clusters, the energy and memory tradeoff on embedded devices are not well understood. In this work, we attempt to fin...

متن کامل

Automatic Memory Management for Embedded Real-Time Java Processor Jpor-32

Currently, Java has been gradually applied in embedded real-time areas like robotics, control system, etc. owning to its advantages like robustness, security, etc. In order to improve the performance of Java’s execution engine for embedded real-time applications, JPOR-32, an embedded real-time Java processor, is designed. Based on it, this paper presents the automatic memory management (AMM) me...

متن کامل

Replicating real-time garbage collector

Real-time Java is becoming a viable platform for real-time applications, bringing new challenges to a garbage collector. A real-time collector has to be incremental as not to cause deadline misses by suspending an application for too long. In particular, if a real-time collector has to relocate objects in the heap, it must do so incrementally and transparently to the application. This is usuall...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • IEEE Trans. Mob. Comput.

دوره 2  شماره 

صفحات  -

تاریخ انتشار 2003